home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / ab20_archive / languages / assembly / powervisor_113.lzh / docs / Functions < prev    next >
Text File  |  1992-02-06  |  23KB  |  888 lines

  1. *-----------------------*
  2. * Reference : Functions * Thu Feb  6 15:58:07 1992
  3. *-----------------------*
  4.  
  5.  
  6. ============================== Introduction ==================================
  7.  
  8. This reference file contains all functions. Commands are not in this file.
  9. Note that you can use these functions from ARexx. Simply use the same format
  10. for normal commands :
  11.  
  12.    A function call in PowerVisor : res=if(a>b,1,2)
  13.    How you must do this in ARexx : 'if a>b 1 2'
  14.                                    res=result
  15.  
  16.  
  17. ================================= isbreak ====================================
  18.  
  19.    <result> = ISBREAK( <address> )
  20.  
  21.  
  22. Test if there is a ¹breakpoint in the ³current debug task on <address>.
  23. If true this function returns the ²breakpoint number and the
  24. ²breakpoint type in one longword, else it returns 0.
  25.  
  26.    <result> has the following format :
  27.  
  28.       NNNNTTTT
  29.  
  30.    with NNNN a word containing the breakpoint number
  31.    and TTTT containing the breakpoint type
  32.  
  33.    The following types are supported :
  34.       'T'   ²temporary breakpoint
  35.       'N'   ²normal breakpoint
  36.       'P'   ²profile breakpoint
  37.       'C'   ²conditional breakpoint
  38.       'A'   ²after breakpoint (timeout)
  39.       's'   breakpoint used to skip a BSR or JSR (private breakpoint)
  40.  
  41.  
  42. Related commands: debug break trace
  43.  
  44. Related functions: getdebug toppc botpc
  45.  
  46. Related lists: dbug
  47.  
  48. Related tutor file: Debug
  49.  
  50.  
  51. ================================ geterror ====================================
  52.  
  53.    <error> = GETERROR( <expression string> )
  54.  
  55.  
  56. ³Evaluate an expression and ³return the error. If there was no error, 0
  57. is returned.
  58.  
  59.  
  60. Example :
  61.  
  62. < disp geterror("7") <enter>
  63. > 00000000 , 0
  64.  
  65. 0 since 7 is a valid expression.
  66.  
  67. < disp geterror("7+") <enter>
  68. > 00000010 , 16
  69.  
  70. returns 16 since there is a missing operand.
  71.  
  72. The following errors are defined (Note ! Some of these are obsolete and
  73. will never appear) (Note ! you can change the errorstrings since this file
  74. is called ¹PowerVisor-errors (you can find this file in the program directory
  75. where the PowerVisor executable is or in the S: directory)) :
  76.  
  77. -6       Stack overflow !!!
  78. -5       A program has crashed !!!
  79. -4       A stack overflow was getting close !
  80. -3       Quiting PowerVisor !
  81. -2       PowerVisor has crashed !
  82. -1       Break...
  83. 0        No error
  84. 1        Not enough memory !
  85. 2        Syntax Error !
  86. 3        This is not a device created with OpenDev !
  87. 4        Bad list element type !
  88. 5        Variable is a constant !
  89. 6        Only <B>yte, <W>ord or <L>ong !
  90. 7        Odd address error !
  91. 8        Could not Lock!
  92. 9        Bracket '(' expected !
  93. 10       To many arguments for library function !
  94. 11       Missing operand !
  95. 12       Lock is not a subdirectory !
  96. 13       Error while opening device !
  97. 14       Unknown list element !
  98. 15       Not implemented yet !
  99. 16       Unknown mode argument !
  100. 17       Unknown AddFunc argument !
  101. 18       This is not a process !
  102. 19       Node is not a task or process !
  103. 20       This task is not freezed !
  104. 21       This task is already freezed !
  105. 22       Node type is wrong !
  106. 23       Addressed element not found !
  107. 24       Window is not sizeable !
  108. 25       This is no supported library function !
  109. 26       No help available for this subject !
  110. 27       Error while opening file !
  111. 28       Error while reading file !
  112. 29       Not a resident module !
  113. 30       Not a lock !
  114. 31       Bad History value (2..1000)
  115. 32       Error opening trackdisk device !
  116. 33       DoIO returned with a non zero value !
  117. 34       There is no task to debug !
  118. 35       Unknown argument for trace !
  119. 36       Unknown argument for debug !
  120. 37       Address is in ROM ! Can't set breakpoint !
  121. 38       Not a debug node !
  122. 39       Bad '@' argument
  123. 40       LoadSeg error !
  124. 41       Unknown argument for dmode !
  125. 42       There is no current debug task !
  126. 43       Unknown argument for break !
  127. 44       Breakpoint does not exist !
  128. 45       There are no symbol hunks !
  129. 46       Symbol not found !
  130. 47       You can only remove variables !
  131. 48       You can not assign to a function !
  132. 49       You must use brackets with functions !
  133. 50       Unknown argument for symbol !
  134. 51       There are no symbols !
  135. 52       You can only realloc blocks smaller than 64K !
  136. 53       Your brackets are really out of order !
  137. 54       The debug task is busy, please try again later !
  138. 55       The task is not tracing !
  139. 56       File does not have the right format !
  140. 57       This is not a structure definition !
  141. 58       Bad argument value !
  142. 59       No colorchange allowed when PowerVisor is on a window !
  143. 60       Could not open font !
  144. 61       Can't execute script file in script file !
  145. 62       Refresh window is not open !
  146. 63       Unknown tag type !
  147. 64       No output allowed on debug logical window !
  148. 65       Error writing file !
  149. 66       Not a Tag file !
  150. 67       Bad tag list value (0 .. 15) !
  151. 68       Unknown or invalid register !
  152. 69       There is a more recent patch then this one installed !
  153. 70       There is no fd file loaded for this library !
  154. 71       Unknown logical window !
  155. 72       Resulting commandline too long after converting from alias string !
  156. 73       Missing left bracket '(' in fd file !
  157. 74       Missing right bracket ')' in fd file !
  158. 75       Bad '##bias' statement in fd file !
  159. 76       You can't close the 'Main' physical window !
  160. 77       You can't close the 'Main' logical window !
  161. 78       Bad argument for 'openlw' ! Arg must be one of 'r','l','d' or 'u' !
  162. 79       Brother logical window must be on same physical window !
  163. 80       Window is not movable !
  164. 81       There is no father for this box !
  165. 82       Unknown preferences argument !
  166. 83       Please close visitor windows first !
  167. 84       Divide by zero !
  168. 85       No group operators allowed for the debug task !
  169. 86       Error opening screen !
  170. 87       You can't remove the 'rc' and 'error' variables. These are private !
  171. 88       'LoadSeg' failed !
  172. 89       Variable names must start with a letter or an underscore !
  173. 90       Error opening physical window !
  174. 91       Error opening logical window !
  175. 92       Bracket ')' expected !
  176. 93       Bracket '}' expected !
  177. 94       Bus error !
  178. 95       Address error !
  179. 96       Illegal instruction !
  180. 97       Division by zero !
  181. 98       CHK instruction !
  182. 99       TRAPV instruction !
  183. 100      Privilege Violation !
  184. 101      Trace error !
  185. 102      Unimplemented 1010 opcode !
  186. 103      Unimplemented 1111 opcode !
  187. 104      Unknown argument for track !
  188. 105      PowerVisor is allready tracking for a task !
  189. 106      PowerVisor is not tracking !
  190. 107      Unknown argument for source !
  191. 108      There are no debug hunks in this executable file !
  192. 109      There is no source loaded for this debug node !
  193. 110      This address is not in the source !
  194.  
  195.  
  196. Related commands: error
  197.  
  198. Related tutor files: TheWizardCorner
  199.  
  200.  
  201. ================================ getstack ====================================
  202.  
  203.    <max stack> = GETSTACK( )
  204.  
  205.  
  206. This function shows the maximum stack usage for the last task monitored with
  207. the 'stack' command.
  208.  
  209.  
  210. Related commands: stack
  211.  
  212.  
  213. ================================= getcol =====================================
  214.  
  215.    <columns> = GETCOL( <logical window> )
  216.  
  217.  
  218. Get the real ³number of columns (or -1) for the ²logical window. Note that
  219. this is not always equal to the visible number of columns. If <columns>
  220. is not equal to -1 it is the total number of columns. If <columns> is equal
  221. to -1 it means that the logical window is ¹autoscalable in horizontal
  222. direction. To get the real number of columns (after scaling) you can use
  223. the 'cols' function.
  224.  
  225. 'getcol' uses ¹autodefault to the 'lwin' list for the first argument.
  226.  
  227.  
  228. Related commands: colrow fit
  229.  
  230. Related functions: getrow cols lines getlwin getx gety
  231.  
  232. Related lists: lwin
  233.  
  234. Related tutor files: Screen
  235.  
  236.  
  237. ================================= getrow =====================================
  238.  
  239.    <rows> = GETROW( <logical window> )
  240.  
  241.  
  242. Get the real ³number of rows (or -1) for the ²logical window. See the
  243. explanation for 'getcol' to see what the -1 really means.
  244.  
  245. 'getrow' uses ¹autodefault to the 'lwin' list for the first argument.
  246.  
  247.  
  248. Related commands: colrow fit
  249.  
  250. Related functions: getcol cols lines getlwin getx gety
  251.  
  252. Related lists: lwin
  253.  
  254. Related tutor files: Screen
  255.  
  256.  
  257. ================================== eval ======================================
  258.  
  259.    <result> = EVAL( <string pointer> )
  260.  
  261.  
  262. Evaluate the string at <string pointer> and return the result.
  263. 'eval' returns 0 if <string pointer> is 0.
  264.  
  265.  
  266. Example :
  267.  
  268. < disp eval("1+2") <enter>
  269. > 00000003 , 3
  270.  
  271. < scan <enter>
  272. ????< 4+4 <enter>
  273. < disp eval(input) <enter>
  274. > 00000008 , 8
  275.  
  276.  
  277. Related commands: disp void
  278.  
  279. Related functions: if
  280.  
  281. Related tutor files: Expressions
  282.  
  283.  
  284. =================================== if =======================================
  285.  
  286.    <result> = IF( <condition>,<expression 1>,<expression 2> )
  287.  
  288.  
  289. If <condition> is true, evaluate <expression 1>, else evaluate
  290. <expression 2>.
  291.  
  292.  
  293. Example :
  294.  
  295. < d if(1,2,3) <enter>
  296. > 00000002 , 2
  297.  
  298. < d if(0,2,3) <enter>
  299. > 00000003 , 3
  300.  
  301. < a=1 <enter>
  302. < b=2 <enter>
  303. < c=3 <enter>
  304. < d=4 <enter>
  305. < e=5 <enter>
  306. < d if(a,if(b,c,d),e) <enter>
  307. > 00000003 , 3
  308.  
  309. < void if(a==1,{help functions},{help commands}) <enter>
  310. > ...
  311.  
  312.  
  313. Related commands: disp void
  314.  
  315. Related functions: eval
  316.  
  317. Related tutor files: Expressions
  318.  
  319.  
  320. ================================= taglist ====================================
  321.  
  322.    <taglist> = TAGLIST( )
  323.  
  324.  
  325. Return the ³current tag list. This is a number between 0 and 15.
  326. You can change the current tag list with the 'usetag' or 'tg' commands.
  327.  
  328.  
  329. Related commands: usetag tg
  330.  
  331. Related tutor files: LookingAtThings
  332.  
  333.  
  334. ================================== peek ======================================
  335.  
  336.    <value> = PEEK( <structure pointer>,<struct def pointer>,<field name> )
  337.  
  338.  
  339. Returns the value of <structure>.<field name>. <struct def pointer>
  340. must be a pointer to a previously loaded ²structure definition. <structure
  341. pointer> is the pointer to the ¹structure itself. <field name> must be defined
  342. in the structure definition.
  343.  
  344. 'peek' uses ¹autodefault to the 'stru' list for the second argument.
  345.  
  346.  
  347. Related commands: addstruct interprete
  348.  
  349. Related functions: apeek stsize
  350.  
  351. Related lists: stru
  352.  
  353. Related tutor files: LookingAtThings
  354.  
  355.  
  356. ================================= stsize =====================================
  357.  
  358.    <size> = STSIZE( <struct def pointer> )
  359.  
  360.  
  361. Return the size of the ¹structure represented by <struct def pointer>.
  362. <struct def pointer> must be a ²structure definition loaded with 'addstruct'.
  363.  
  364. 'stsize' uses ¹autodefault to the 'stru' list for the first argument.
  365.  
  366.  
  367. Related commands: addstruct interprete
  368.  
  369. Related functions: peek apeek
  370.  
  371. Related lists: stru
  372.  
  373. Related tutor files: LookingAtThings
  374.  
  375.  
  376. ================================== apeek =====================================
  377.  
  378.    <address> = APEEK( <structure pointer>,<struct def pointer>,<field name> )
  379.  
  380.  
  381. Returns the address of <structure>.<field name>. <struct def pointer>
  382. must be a pointer to a previously loaded ²structure definition. <structure
  383. pointer> is the pointer to the ¹structure itself. <field name> must be defined
  384. in the structure definition.
  385.  
  386. 'apeek' uses ¹autodefault to the 'stru' list for the second argument.
  387.  
  388.  
  389. Related commands: addstruct interprete
  390.  
  391. Related functions: peek stsize
  392.  
  393. Related lists: stru
  394.  
  395. Related tutor files: LookingAtThings
  396.  
  397.  
  398. ================================== lines =====================================
  399.  
  400.    <lines> = LINES( <logwin> )
  401.  
  402.  
  403. This function returns the maximum ³number of lines available on the
  404. ²logical window.
  405.  
  406. 'lines' uses ¹autodefault to the 'lwin' list for the first argument.
  407.  
  408.  
  409. Example :
  410.  
  411. < disp lines(main) <enter>
  412. > 00000033 , 51
  413.  
  414.  
  415. Related commands: colrow fit
  416.  
  417. Related functions: cols getcols getrows getlwin getx gety
  418.  
  419. Related lists: lwin
  420.  
  421. Related tutor files: Screen
  422.  
  423.  
  424. ================================== cols ======================================
  425.  
  426.    <cols> = COLS( <logwin> )
  427.  
  428.  
  429. This function returns the maximum ³number of columns available on the
  430. ²logical window.
  431.  
  432. 'cols' uses ¹autodefault to the 'lwin' list for the first argument.
  433.  
  434.  
  435. Example :
  436.  
  437. < disp cols(main) <enter>
  438. > 00000056 , 86
  439.  
  440.  
  441. Related commands: colrow fit
  442.  
  443. Related functions: lines getcols getrows getlwin getx gety
  444.  
  445. Related lists: lwin
  446.  
  447. Related tutor files: Screen
  448.  
  449.  
  450. ================================= getlwin ====================================
  451.  
  452.    <logwin> = GETLWIN( )
  453.  
  454.  
  455. This function returns a pointer to the ³current logical window.
  456. The current logical window is not the same as the ³active logical window.
  457. The current logical window is the one that shows all output. The active
  458. logical window is the one where you can ¹scroll with the keyboard.
  459.  
  460.  
  461. Related commands: current on active
  462.  
  463. Related functions: getactive
  464.  
  465. Related lists: lwin
  466.  
  467. Related tutor files: Screen
  468.  
  469.  
  470. ================================ getactive ===================================
  471.  
  472.    <logwin> = GETACTIVE( )
  473.  
  474.  
  475. This function returns a pointer to the ³active logical window. This
  476. is the logical window where you can ¹scroll with the keyboard.
  477. You can change the active logical window with the 'active' command or with
  478. the ²<tab> key.
  479.  
  480.  
  481. Related commands: active on current
  482.  
  483. Related functions: getlwin
  484.  
  485. Related lists: lwin
  486.  
  487. Related tutor files: Screen
  488.  
  489.  
  490. ================================== getx ======================================
  491.  
  492.    <current x position> = GETX( )
  493.  
  494.  
  495. Get the current x ¹coordinate on the ³current logical window (in columns).
  496.  
  497.  
  498. Related commands: locate home cls current
  499.  
  500. Related functions: gety getcols getrows cols lines getlwin getchar
  501.  
  502. Related lists: lwin
  503.  
  504. Related tutor files: Screen
  505.  
  506.  
  507. ================================== gety ======================================
  508.  
  509.    <current y position> = GETY( )
  510.  
  511.  
  512. Get the current y ¹coordinate on the ³current logical window (in lines).
  513.  
  514.  
  515. Related commands: locate home cls current
  516.  
  517. Related functions: getx getcols getrows cols lines getlwin getchar
  518.  
  519. Related lists: lwin
  520.  
  521. Related tutor files: Screen
  522.  
  523.  
  524. ================================= getchar ====================================
  525.  
  526.    <char> = GETCHAR( )
  527.  
  528.  
  529. Get the ¹character at the ²current screenposition in the
  530. ³current logical window.
  531.  
  532.  
  533. Example :
  534.  
  535. < {locate 10,10;a=getchar()} <enter>
  536.  
  537.  
  538. Related commands: locate home cls current
  539.  
  540. Related functions: getx gety getcols getrows cols lines getlwin
  541.  
  542. Related lists: lwin
  543.  
  544. Related tutor files: Screen
  545.  
  546.  
  547. ================================= lastmem ====================================
  548.  
  549.    <memory> = LASTMEM( )
  550.  
  551.  
  552. This function returns the address that 'memory', 'view' and 'unasm' will use
  553. to ³continue their listing.
  554.  
  555.  
  556. Related commands: memory view unasm
  557.  
  558. Related functions: lastfound lastbytes lastlines
  559.  
  560. Related tutor files: LookingAtThings
  561.  
  562.  
  563. ================================ lastbytes ===================================
  564.  
  565.    <last number of bytes> = LASTBYTES( )
  566.  
  567.  
  568. This function returns the last number of bytes used by 'memory' or 'view'
  569. (320 by default).
  570.  
  571.  
  572. Related commands: memory view
  573.  
  574. Related functions: lastmem lastlines
  575.  
  576. Related tutor files: LookingAtThings
  577.  
  578.  
  579. ================================ lastlines ===================================
  580.  
  581.    <last number of lines> = LASTLINES( )
  582.  
  583.  
  584. This function returns the last number of lines used by 'unasm'
  585. (20 by default).
  586.  
  587.  
  588. Related commands: unasm
  589.  
  590. Related functions: lastmem lastbytes
  591.  
  592. Related tutor files: LookingAtThings
  593.  
  594.  
  595. ================================ lastfound ===================================
  596.  
  597.    <last found> = LASTFOUND( )
  598.  
  599.  
  600. This function returns the address of the second byte of the string found
  601. with 'search' or 'next'. This is the address where 'next' will continue
  602. with the search.
  603.  
  604.  
  605. Related commands: search next
  606.  
  607. Related functions: lastmem
  608.  
  609.  
  610. ================================== alloc =====================================
  611.  
  612.    <memory> = ALLOC( ('n',<size>) | ('c',<size>) | ('s',<string>) )
  613.  
  614.  
  615. Use this function for easy ²memory allocation.
  616. Use the 'free' function to free this memory, use the 'getsize' function
  617. to get the size of this memory and use the 'realloc' function to ¹reallocate
  618. the memory.
  619.  
  620. The memory allocated with this function is guaranteed to contain
  621. only 0 (except if the first argument is equal to 's').
  622.  
  623. Note that memory allocated with this command is automatically freed
  624. when PowerVisor quits.
  625.  
  626. When the blocksize is smaller than 65533 bytes the result from this function
  627. is a pointer after a word containing the size. This pointer is thus word
  628. alligned but not longword alligned.
  629. When the blocksize is bigger the result is a pointer after a longword
  630. containing the size. This pointer is longword alligned.
  631. Using word or longword allignment you can determine the size of a memory
  632. block. An easier way to do this is to use the 'getsize' function.
  633.  
  634.  
  635. Example :
  636.  
  637.  
  638. To allocate 1000 bytes :
  639.  
  640. < a=alloc(n,1000) <enter>
  641.  
  642.  
  643. To allocate 11 bytes and copy the string 'PowerVisor' to this memory use :
  644.  
  645. < a=alloc(s,'PowerVisor') <enter>
  646.  
  647.  
  648. To allocate 1000 bytes in chip ram use :
  649.  
  650. < a=alloc(c,1000) <enter>
  651.  
  652.  
  653.  
  654. Related commands: cleanup showalloc
  655.  
  656. Related functions: free realloc getsize isalloc
  657.  
  658.  
  659. ================================= realloc ====================================
  660.  
  661.    <new pointer> = REALLOC( <memoryblock>,<new size> )
  662.  
  663.  
  664. Use this function to ¹reallocate a ¹memoryblock allocated with the
  665. 'alloc' function. Only memoryblocks smaller than 64K are supported.
  666.  
  667.  
  668. Related commands: cleanup showalloc
  669.  
  670. Related functions: alloc free getsize isalloc
  671.  
  672.  
  673. ================================== free ======================================
  674.  
  675.    FREE( <pointer> )
  676.  
  677.  
  678. Free a block previously allocated with 'alloc'.
  679. Note that all memory allocated with 'alloc' is automatically freed when
  680. PowerVisor quits or when you use 'cleanup'.
  681.  
  682.  
  683. Related commands: cleanup showalloc
  684.  
  685. Related functions: alloc realloc getsize isalloc
  686.  
  687.  
  688. ================================= getsize ====================================
  689.  
  690.    <size> = GETSIZE( <memoryblock> )
  691.  
  692.  
  693. This function determines the size of a ¹memoryblock allocated with the
  694. 'alloc' function or some other PowerVisor commands.
  695.  
  696.  
  697. Related commands: cleanup showalloc
  698.  
  699. Related functions: alloc free isalloc realloc
  700.  
  701.  
  702. ================================= isalloc ====================================
  703.  
  704.    <pointer to pointer> = ISALLOC( <pointer> )
  705.  
  706.  
  707. This function checks if <pointer> points to a ¹memoryblock allocated
  708. with the 'alloc' function. If it is, 'isalloc' returns a pointer to
  709. the pointer, otherwise 0.
  710.  
  711.  
  712. Related commands: cleanup showalloc
  713.  
  714. Related functions: alloc free realloc getsize
  715.  
  716.  
  717. ================================= rfrate =====================================
  718.  
  719.    <refresh rate> = RFRATE( )
  720.  
  721.  
  722. Return the current ²refresh rate installed with the 'refresh' command.
  723.  
  724.  
  725. Related commands: refresh rwin
  726.  
  727. Related functions: rfcmd
  728.  
  729.  
  730. ================================== rfcmd =====================================
  731.  
  732.    <pointer to refresh command> = RFCMD( )
  733.  
  734.  
  735. Return a pointer to the current ²refresh command (or 0).
  736. This function returns a string if used from ¹ARexx.
  737.  
  738.  
  739. Related commands: refresh rwin
  740.  
  741. Related functions: rfrate
  742.  
  743.  
  744. ================================= curlist ====================================
  745.  
  746.    <pointer to string> = CURLIST( )
  747.  
  748.  
  749. Return a pointer to the name of the ²current list.
  750. This function returns a string if used from ¹ARexx.
  751.  
  752. Note for experienced users only !
  753.    The pointer to the string is actually a pointer into the infoblock
  754.    for the current list. curlist()-24 points to the start of the infoblock.
  755.    See 'TheWizardCorner' for more information about infoblocks (in the
  756.    'info base').
  757.    Note that if you want to use this feature in ARexx you have to call
  758.    this function using 'void' or 'assign'. If you call it directly you
  759.    will get a string and not a pointer in ARexx
  760.  
  761.  
  762. Related tutor files: GettingStarted TheWizardCorner
  763.  
  764.  
  765. =================================== key ======================================
  766.  
  767.    <vanillakey> = KEY( )
  768.  
  769.  
  770. Wait for a key and return the ²ascii value.
  771. This is especially useful in ¹scripts.
  772.  
  773.  
  774. Related commands: scan request
  775.  
  776. Related functions: qual
  777.  
  778.  
  779. ================================== qual ======================================
  780.  
  781.    <qualifier> = QUAL( )
  782.  
  783.  
  784. Return the ¹qualifier for the ³last pressed key (with 'key').
  785.  
  786.  
  787. Example :
  788.  
  789. < a=key() <enter>
  790. < disp qual() <enter>
  791.  
  792.  
  793. Related commands: scan
  794.  
  795. Related functions: key
  796.  
  797.  
  798. ================================== toppc =====================================
  799.  
  800.    <programcounter> = TOPPC( )
  801.  
  802.  
  803. This function returns the ²program counter visible at the top of the
  804. ³'Debug' logical window.
  805. You can set this program counter using the 'dstart' or 'dscroll' commands.
  806.  
  807.  
  808. Related commands: debug dwin dscroll dstart
  809.  
  810. Related functions: botpc isbreak getdebug
  811.  
  812. Related lists: dbug
  813.  
  814. Related tutor files: Debug
  815.  
  816.  
  817. ================================== botpc =====================================
  818.  
  819.    <programcounter> = BOTPC( )
  820.  
  821.  
  822. This function returns the ²program counter visible at the bottom of the
  823. ³'Debug' logical window.
  824. You can set this program counter using the 'dstart' or 'dscroll' commands.
  825.  
  826.  
  827. Related commands: debug dwin dscroll dstart
  828.  
  829. Related functions: toppc isbreak getdebug
  830.  
  831. Related lists: dbug
  832.  
  833. Related tutor files: Debug
  834.  
  835.  
  836. ================================ getdebug ====================================
  837.  
  838.    <debug node> = GETDEBUG( )
  839.  
  840.  
  841. Return the ³current debug node. You can set the current debug node with
  842. 'duse' and 'with'.
  843.  
  844.  
  845. Related commands: duse with debug
  846.  
  847. Related functions: isbreak toppc botpc
  848.  
  849. Related lists: dbug
  850.  
  851. Related tutor files: Debug
  852.  
  853.  
  854. ================================== base ======================================
  855.  
  856.    <pointer> = BASE( )
  857.  
  858.  
  859. This function returns the pointer to the ²first element in the ²current list.
  860.  
  861.  
  862. Example :
  863.  
  864. Go to the task list :
  865. < task <enter>
  866.  
  867. < list <enter>
  868. > Task node name      : Node     Pri StackPtr  StackS Stat Command        Acc
  869. > ---------------------------------------------------------------------------
  870. > RAM                 : 00C20C68 00  00C2117A    1200 Rdy            PROC -
  871. > golem.device        : 00C05C8A 05  00C064B6    2048 Wait           TASK -
  872. > NEWCON              : 00C2CAA8 05  00C2DAA2    4000 Wait           PROC -
  873. > ARP Shell Process   : 00C26180 00  00C270F2    4000 Wait           (03) -
  874. > PowerVisor1.0.task  : 00C31C28 00  00C76132    1024 Wait           TASK -
  875. > File System         : 00C16758 0A  00C16AF6     840 Wait           PROC -
  876. > File System         : 00C172E8 0A  00C17686     840 Wait           PROC -
  877. > trackdisk.device    : 00C068DE 05  00C09F2E     512 Wait           TASK -
  878. > trackdisk.device    : 00C17846 05  00C17A5E     512 Wait           TASK -
  879. > DH0                 : 00C0DF08 0A  00C0E356    1000 Wait           PROC -
  880. > input.device        : 00C03BFA 14  00C04C00    4096 Wait           TASK -
  881. > ARP Background She  : 00C66EB8 00  00C75CD2    4000 Run  pv        (01) -
  882.  
  883. < d base() <enter>
  884. > 00C20C68 , 12717160
  885.  
  886.  
  887. Related commands: list
  888.